// 用户认证工具类

// 获取token
export function getToken() {
  return uni.getStorageSync('token')
}

// 设置token
export function setToken(token) {
  uni.setStorageSync('token', token)
}

// 移除token
export function removeToken() {
  uni.removeStorageSync('token')
}

// 获取用户信息
export function getUserInfo() {
  return uni.getStorageSync('userInfo')
}

// 设置用户信息
export function setUserInfo(userInfo) {
  uni.setStorageSync('userInfo', userInfo)
}

// 移除用户信息
export function removeUserInfo() {
  uni.removeStorageSync('userInfo')
}

// 检查是否已登录
export function isLoggedIn() {
  const token = getToken()
  return !!token
}

// 退出登录
export function logout() {
  removeToken()
  removeUserInfo()
  uni.reLaunch({
    url: '/pages/login/login'
  })
}

// 检查用户权限
export function hasPermission(permission) {
  const userInfo = getUserInfo()
  if (!userInfo || !userInfo.permissions) {
    return false
  }
  return userInfo.permissions.includes(permission)
}

// 检查用户角色
export function hasRole(role) {
  const userInfo = getUserInfo()
  if (!userInfo) {
    return false
  }
  // 支持单个角色和角色数组
  if (userInfo.roles && Array.isArray(userInfo.roles)) {
    return userInfo.roles.includes(role)
  }
  return userInfo.role === role
}
